/*
********************************************************************************
* Copyright (C) 2021, xiang.D <dx_65535@163.com>.
* All right reserved.
*
* File Name   : control_tower_base.h
* Author      :
* Version     : V1.0
* Description :
* Journal     : 2021-1-20 version v1.0
* Brief       : Blog: https://blog.csdn.net/qq_38750572?spm=1001.2014.3001.5343
* Others      :
                Compile command: make
********************************************************************************
*/
#ifndef __CONTROL_TOWRE_BASE_H__
#define __CONTROL_TOWRE_BASE_H__

class CAirplaneBase;
class CTowerMediatorBase
{
public:
    CTowerMediatorBase() {}

    virtual ~CTowerMediatorBase() {}

    virtual int Register(CAirplaneBase* airplane) = 0;

    virtual int UnRegister(int RegisterId) = 0;

    virtual int SendMsg(int RegisterId, void *msg) = 0;

    virtual int NotifyObserverAll(void *msg) = 0;

    virtual int Receive(int id, void *msg) = 0;
};


#endif
